home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Hacks / Hacks ’92 / NetWarmer / source / DoScrap.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-11  |  1021 b   |  56 lines  |  [TEXT/KAHL]

  1. /* © 1988, Bowers Development Corp. */
  2. /* DoScrap.c */
  3.  
  4. #include "DoScrap.h"
  5.  
  6. /* global vars: */
  7. Boolean                scrapDirty;
  8. OSType                scrapType;
  9.  
  10. short                scrapCompare;
  11.     
  12. /*----------*/
  13. void ReadDeskScrap    ()
  14. {
  15.     typedef OSType    **OSTypeHandle;
  16.  
  17.     register PScrapStuff    scrap;    
  18.     long            scrapLength;
  19.     long            offset;
  20.     
  21.     scrap = InfoScrap ();
  22.     if (scrapCompare != scrap->scrapCount) {
  23.         if (scrap->scrapHandle == nil) {
  24.             scrapType = '????';
  25.         } else {
  26.             scrapType = **((OSTypeHandle) scrap->scrapHandle);
  27.         }
  28.         TESetScrapLen (0);
  29.         if (GetScrap (nil, 'TEXT', &offset) > 0) {
  30.             scrapLength = TEFromScrap ();
  31.         }
  32.         scrapCompare = scrap->scrapCount;
  33.     } /*if*/
  34. } /*ReadDeskScrap*/
  35.  
  36. /*----------*/
  37. void WriteDeskScrap    ()
  38. {
  39.     OSErr            errCode;
  40.  
  41.     if (scrapDirty) {
  42.         scrapCompare = ZeroScrap ();
  43.         errCode = TEToScrap ();
  44.         scrapType = 'TEXT';
  45.         scrapDirty = false;
  46.     } /*if*/
  47. } /*WriteDeskScrap*/
  48.  
  49. /*----------*/
  50. void InitScrap    ()
  51. {
  52.     scrapDirty = false;
  53.     scrapCompare = (*InfoScrap ()).scrapCount + 1;
  54.     ReadDeskScrap ();
  55. } /*InitScrap*/
  56.